# 1、准备工作，编译方式、目标文件名、依赖库路径的定义。
CC = g++
CFLAGS  := -Wall -O3 -std=c++0x -m64

#头文件和lib路径 
XTP_INC_ROOT = ../include 
XTP_LIB_ROOT = ../lib

#OBJS .o文件与.cpp文件同名
OBJS = xtp_modle_api.o xtp_trader_resp.o #.o文件与.cpp文件同名

LIB = libxtp.so # 目标文件名 

XTP_INC= -I $(XTP_INC_ROOT)

INCLUDE_PATH = $(XTP_INC)

LIB_PATH = -L $(XTP_LIB_ROOT)

# 依赖的lib名称
XTP_LIB = -lxtptraderapi.so

all : $(LIB)

# 2. 生成.o文件 
%.o : %.cpp
	$(CC) $(CFLAGS) -fpic -c $< -o $@ $(INCLUDE_PATH) $(LIB_PATH) $(XTP_LIB)

# 3. 生成动态库文件
$(LIB) : $(OBJS)
	rm -f $@
	g++ -shared -o $@ $(OBJS) -m64
	rm -f $(OBJS)

tags :
	ctags -R *

# 4. 删除中间过程生成的文件 
clean:
	rm -f $(OBJS) $(TARGET) $(LIB)
